-- @Author: 作者QQ2308873645
-- @Date:   2021-12-01 18:01:54
-- @Last Modified by:   作者QQ201878826
-- @Last Modified time: 2022-08-27 13:48:38
function zz:主动技能打书(id,内容)------------------------------完成--
   if 银子检查(id,30000000)==false then
      发送数据(玩家数据[id].连接id,7,"#Y/本次操作需要消耗3000W两银子")
      return 0
    end
    角色处理类:扣除银子(玩家数据[id],30000000,"主动技能打书")
    local 临时技能=取主动副宠技能名称()
    local 技能格子
    local 最大主动技能个数=f函数.读配置(ServerDirectory..[[配置文件\副宠助战配置.txt]], "副宠出生设置", "最大主动技能个数")+0
    local 主动技能打书概率=f函数.读配置(ServerDirectory..[[配置文件\副宠助战配置.txt]], "副宠出生设置", "主动技能打书概率")+0
    self.基础几率=主动技能打书概率
    if 内容 == "助战一" then
      if #玩家数据[id].助战.数据.助战一.主动技能 < 最大主动技能个数 and math.random(1000)<=self.基础几率 +(最大主动技能个数-#玩家数据[id].助战.数据.助战一.主动技能+1)*5 then
         技能格子=#玩家数据[id].助战.数据.助战一.主动技能+1
      else
         技能格子=math.random(1,#玩家数据[id].助战.数据.助战一.主动技能)
      end
       local 重复技能=0
       local 重复技能1=0
       local 重复技能2=0
       for n=1,#玩家数据[id].助战.数据.助战一.主动技能 do
        if 玩家数据[id].助战.数据.助战一.主动技能[n].名称==临时技能 then
           重复技能=n
        end
       end
       if 重复技能~=0  then
           临时技能=取主动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战一.主动技能 do
            if 玩家数据[id].助战.数据.助战一.主动技能[n].名称==临时技能 then
               重复技能1=n
            end
           end
       end
       if 重复技能1~=0  then
           临时技能=取主动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战一.主动技能 do
            if 玩家数据[id].助战.数据.助战一.主动技能[n].名称==临时技能 then
               重复技能2=n
            end
           end
       end
       if 重复技能2~=0  then
          发送数据(玩家数据[id].连接id, 7, "#y/很遗憾，本次炼化失败！")
          return true
       end
       玩家数据[id].助战.数据.助战一.主动技能[技能格子]=置技能(临时技能)
      if 玩家数据[id].助战.数据.助战一.主动技能[技能格子].屏蔽 == nil  then
         玩家数据[id].助战.数据.助战一.主动技能[技能格子].屏蔽 = false
      end
       发送数据(玩家数据[id].连接id, 7, "#y/恭喜你的副宠一获得了#r/"..临时技能.."#y/的主动技能")
    elseif 内容 == "助战二" then
      if #玩家数据[id].助战.数据.助战二.主动技能 < 最大主动技能个数 and math.random(1000)<=self.基础几率 +(最大主动技能个数-#玩家数据[id].助战.数据.助战二.主动技能+1)*5 then
         技能格子=#玩家数据[id].助战.数据.助战二.主动技能+1
      else
         技能格子=math.random(1,#玩家数据[id].助战.数据.助战二.主动技能)
      end
       local 重复技能=0
       local 重复技能1=0
       local 重复技能2=0
       for n=1,#玩家数据[id].助战.数据.助战二.主动技能 do
        if 玩家数据[id].助战.数据.助战二.主动技能[n].名称==临时技能 then
           重复技能=n
        end
       end
       if 重复技能~=0  then
           临时技能=取主动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战二.主动技能 do
            if 玩家数据[id].助战.数据.助战二.主动技能[n].名称==临时技能 then
               重复技能1=n
            end
           end
       end
       if 重复技能1~=0  then
           临时技能=取主动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战二.主动技能 do
            if 玩家数据[id].助战.数据.助战二.主动技能[n].名称==临时技能 then
               重复技能2=n
            end
           end
       end
       if 重复技能2~=0  then
          发送数据(玩家数据[id].连接id, 7, "#y/很遗憾，本次炼化失败！")
          return true
       end
       玩家数据[id].助战.数据.助战二.主动技能[技能格子]=置技能(临时技能)
      if 玩家数据[id].助战.数据.助战二.主动技能[技能格子].屏蔽 == nil  then
         玩家数据[id].助战.数据.助战二.主动技能[技能格子].屏蔽 = false
      end
       发送数据(玩家数据[id].连接id, 7, "#y/恭喜你的副宠二获得了#r/"..临时技能.."#y/的主动技能")
    elseif 内容 == "助战三" then
      if #玩家数据[id].助战.数据.助战三.主动技能 < 最大主动技能个数 and math.random(1000)<=self.基础几率 +(最大主动技能个数-#玩家数据[id].助战.数据.助战三.主动技能+1)*5 then
         技能格子=#玩家数据[id].助战.数据.助战三.主动技能+1
      else
         技能格子=math.random(1,#玩家数据[id].助战.数据.助战三.主动技能)
      end
       local 重复技能=0
       local 重复技能1=0
       local 重复技能2=0
       for n=1,#玩家数据[id].助战.数据.助战三.主动技能 do
        if 玩家数据[id].助战.数据.助战三.主动技能[n].名称==临时技能 then
           重复技能=n
        end
       end
       if 重复技能~=0  then
           临时技能=取主动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战三.主动技能 do
            if 玩家数据[id].助战.数据.助战三.主动技能[n].名称==临时技能 then
               重复技能1=n
            end
           end
       end
       if 重复技能1~=0  then
           临时技能=取主动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战三.主动技能 do
            if 玩家数据[id].助战.数据.助战三.主动技能[n].名称==临时技能 then
               重复技能2=n
            end
           end
       end
       if 重复技能2~=0  then
          发送数据(玩家数据[id].连接id, 7, "#y/很遗憾，本次炼化失败！")
          return true
       end
       玩家数据[id].助战.数据.助战三.主动技能[技能格子]=置技能(临时技能)
      if 玩家数据[id].助战.数据.助战三.主动技能[技能格子].屏蔽 == nil  then
         玩家数据[id].助战.数据.助战三.主动技能[技能格子].屏蔽 = false
      end
       发送数据(玩家数据[id].连接id, 7, "#y/恭喜你的副宠三获得了#r/"..临时技能.."#y/的主动技能")
    elseif 内容 == "助战四" then
      if #玩家数据[id].助战.数据.助战四.主动技能 < 最大主动技能个数 and math.random(1000)<=self.基础几率 +(最大主动技能个数-#玩家数据[id].助战.数据.助战四.主动技能+1)*5 then
         技能格子=#玩家数据[id].助战.数据.助战四.主动技能+1
      else
         技能格子=math.random(1,#玩家数据[id].助战.数据.助战四.主动技能)
      end
       local 重复技能=0
       local 重复技能1=0
       local 重复技能2=0
       for n=1,#玩家数据[id].助战.数据.助战四.主动技能 do
        if 玩家数据[id].助战.数据.助战四.主动技能[n].名称==临时技能 then
           重复技能=n
        end
       end
       if 重复技能~=0  then
           临时技能=取主动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战四.主动技能 do
            if 玩家数据[id].助战.数据.助战四.主动技能[n].名称==临时技能 then
               重复技能1=n
            end
           end
       end
       if 重复技能1~=0  then
           临时技能=取主动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战四.主动技能 do
            if 玩家数据[id].助战.数据.助战四.主动技能[n].名称==临时技能 then
               重复技能2=n
            end
           end
       end
       if 重复技能2~=0  then
          发送数据(玩家数据[id].连接id, 7, "#y/很遗憾，本次炼化失败！")
          return true
       end
       玩家数据[id].助战.数据.助战四.主动技能[技能格子]=置技能(临时技能)

      if 玩家数据[id].助战.数据.助战四.主动技能[技能格子].屏蔽 == nil  then
         玩家数据[id].助战.数据.助战四.主动技能[技能格子].屏蔽 = false
      end
    --  table.print(玩家数据[id].助战.数据.助战四.主动技能[技能格子])
       发送数据(玩家数据[id].连接id, 7, "#y/恭喜你的副宠四获得了#r/"..临时技能.."#y/的主动技能")
    end
    self:刷新取助战数据(id)
end

function zz:被动技能打书(id,内容)------------------------------完成--
   if 银子检查(id,10000000)==false then
      发送数据(玩家数据[id].连接id,7,"#Y/本次操作需要消耗1000W两银子")
      return 0
    end
    角色处理类:扣除银子(玩家数据[id],10000000,"被动技能打书")
    local 临时技能=取被动副宠技能名称()
    local 技能格子
    local 最大被动技能个数=f函数.读配置(ServerDirectory..[[配置文件\副宠助战配置.txt]], "副宠出生设置", "最大被动技能个数")+0
    local 被动技能打书概率=f函数.读配置(ServerDirectory..[[配置文件\副宠助战配置.txt]], "副宠出生设置", "被动技能打书概率")+0
    self.基础几率=被动技能打书概率
    if 内容 == "助战一" then
      if #玩家数据[id].助战.数据.助战一.技能 < 最大被动技能个数 and math.random(1000)<=self.基础几率 +(最大被动技能个数-#玩家数据[id].助战.数据.助战一.技能+1)*5 then
         技能格子=#玩家数据[id].助战.数据.助战一.技能+1
      else
         技能格子=math.random(1,#玩家数据[id].助战.数据.助战一.技能)
      end
       local 重复技能=0
       local 重复技能1=0
       local 重复技能2=0
       for n=1,#玩家数据[id].助战.数据.助战一.技能 do
        if 玩家数据[id].助战.数据.助战一.技能[n].名称==临时技能 then
           重复技能=n
        end
       end
       if 重复技能~=0  then
           临时技能=取被动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战一.技能 do
            if 玩家数据[id].助战.数据.助战一.技能[n].名称==临时技能 then
               重复技能1=n
            end
           end
       end
       if 重复技能1~=0  then
           临时技能=取被动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战一.技能 do
            if 玩家数据[id].助战.数据.助战一.技能[n].名称==临时技能 then
               重复技能2=n
            end
           end
       end
       if 重复技能2~=0  then
          发送数据(玩家数据[id].连接id, 7, "#y/很遗憾，本次炼化失败！")
          return true
       end
       玩家数据[id].助战.数据.助战一.技能[技能格子]=置技能(临时技能)
       发送数据(玩家数据[id].连接id, 7, "#y/恭喜你的副宠一获得了#r/"..临时技能.."#y/的技能")
       self:刷新助战一被动(id)
    elseif 内容 == "助战二" then
      if #玩家数据[id].助战.数据.助战二.技能 < 最大被动技能个数 and math.random(1000)<=self.基础几率 +(最大被动技能个数-#玩家数据[id].助战.数据.助战二.技能+1)*5 then
         技能格子=#玩家数据[id].助战.数据.助战二.技能+1
      else
         技能格子=math.random(1,#玩家数据[id].助战.数据.助战二.技能)
      end
       local 重复技能=0
       local 重复技能1=0
       local 重复技能2=0
       for n=1,#玩家数据[id].助战.数据.助战二.技能 do
        if 玩家数据[id].助战.数据.助战二.技能[n].名称==临时技能 then
           重复技能=n
        end
       end
       if 重复技能~=0  then
           临时技能=取被动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战二.技能 do
            if 玩家数据[id].助战.数据.助战二.技能[n].名称==临时技能 then
               重复技能1=n
            end
           end
       end
       if 重复技能1~=0  then
           临时技能=取被动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战二.技能 do
            if 玩家数据[id].助战.数据.助战二.技能[n].名称==临时技能 then
               重复技能2=n
            end
           end
       end
       if 重复技能2~=0  then
          发送数据(玩家数据[id].连接id, 7, "#y/很遗憾，本次炼化失败！")
          return true
       end
       玩家数据[id].助战.数据.助战二.技能[技能格子]=置技能(临时技能)
       发送数据(玩家数据[id].连接id, 7, "#y/恭喜你的副宠二获得了#r/"..临时技能.."#y/的技能")
       self:刷新助战二被动(id)
    elseif 内容 == "助战三" then
      if #玩家数据[id].助战.数据.助战三.技能 < 最大被动技能个数 and math.random(1000)<=self.基础几率 +(最大被动技能个数-#玩家数据[id].助战.数据.助战三.技能+1)*5 then
         技能格子=#玩家数据[id].助战.数据.助战三.技能+1
      else
         技能格子=math.random(1,#玩家数据[id].助战.数据.助战三.技能)
      end
       local 重复技能=0
       local 重复技能1=0
       local 重复技能2=0
       for n=1,#玩家数据[id].助战.数据.助战三.技能 do
        if 玩家数据[id].助战.数据.助战三.技能[n].名称==临时技能 then
           重复技能=n
        end
       end
       if 重复技能~=0  then
           临时技能=取被动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战三.技能 do
            if 玩家数据[id].助战.数据.助战三.技能[n].名称==临时技能 then
               重复技能1=n
            end
           end
       end
       if 重复技能1~=0  then
           临时技能=取被动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战三.技能 do
            if 玩家数据[id].助战.数据.助战三.技能[n].名称==临时技能 then
               重复技能2=n
            end
           end
       end
       if 重复技能2~=0  then
          发送数据(玩家数据[id].连接id, 7, "#y/很遗憾，本次炼化失败！")
          return true
       end
       玩家数据[id].助战.数据.助战三.技能[技能格子]=置技能(临时技能)
       发送数据(玩家数据[id].连接id, 7, "#y/恭喜你的副宠三获得了#r/"..临时技能.."#y/的技能")
       self:刷新助战三被动(id)
    elseif 内容 == "助战四" then
      if #玩家数据[id].助战.数据.助战四.技能 < 最大被动技能个数 and math.random(1000)<=self.基础几率 +(最大被动技能个数-#玩家数据[id].助战.数据.助战四.技能+1)*5 then
         技能格子=#玩家数据[id].助战.数据.助战四.技能+1
      else
         技能格子=math.random(1,#玩家数据[id].助战.数据.助战四.技能)
      end
       local 重复技能=0
       local 重复技能1=0
       local 重复技能2=0
       for n=1,#玩家数据[id].助战.数据.助战四.技能 do
        if 玩家数据[id].助战.数据.助战四.技能[n].名称==临时技能 then
           重复技能=n
        end
       end
       if 重复技能~=0  then
           临时技能=取被动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战四.技能 do
            if 玩家数据[id].助战.数据.助战四.技能[n].名称==临时技能 then
               重复技能1=n
            end
           end
       end
       if 重复技能1~=0  then
           临时技能=取被动副宠技能名称()
           for n=1,#玩家数据[id].助战.数据.助战四.技能 do
            if 玩家数据[id].助战.数据.助战四.技能[n].名称==临时技能 then
               重复技能2=n
            end
           end
       end
       if 重复技能2~=0  then
          发送数据(玩家数据[id].连接id, 7, "#y/很遗憾，本次炼化失败！")
          return true
       end
       玩家数据[id].助战.数据.助战四.技能[技能格子]=置技能(临时技能)
       发送数据(玩家数据[id].连接id, 7, "#y/恭喜你的副宠四获得了#r/"..临时技能.."#y/的技能")
       self:刷新助战四被动(id)
    end
    self:刷新取助战数据(id)
end

function zz:参战数据(id,内容)
   if 内容 == "助战一" then
      if 玩家数据[id].助战.数据.助战一.参战 == 0 then
         玩家数据[id].助战.数据.助战一.参战 = 1
        -- 发送数据(玩家数据[id].连接id, 7, "#y/你已将副宠一设为参战状态")
      else
         玩家数据[id].助战.数据.助战一.参战 = 0
         --发送数据(玩家数据[id].连接id, 7, "#y/你已将副宠一设为休息状态")
      end
   elseif 内容 == "助战二" then
      if 玩家数据[id].助战.数据.助战二.参战 == 0 then
         玩家数据[id].助战.数据.助战二.参战 = 1
        -- 发送数据(玩家数据[id].连接id, 7, "#y/你已将副宠二设为参战状态")
      else
         玩家数据[id].助战.数据.助战二.参战 = 0
        -- 发送数据(玩家数据[id].连接id, 7, "#y/你已将副宠二设为休息状态")
      end
   elseif 内容 == "助战三" then
      if 玩家数据[id].助战.数据.助战三.参战 == 0 then
         玩家数据[id].助战.数据.助战三.参战 = 1
        -- 发送数据(玩家数据[id].连接id, 7, "#y/你已将副宠三设为参战状态")
      else
         玩家数据[id].助战.数据.助战三.参战 = 0
         --发送数据(玩家数据[id].连接id, 7, "#y/你已将副宠三设为休息状态")
      end
   elseif 内容 == "助战四" then
      if 玩家数据[id].助战.数据.助战四.参战 == 0 then
         玩家数据[id].助战.数据.助战四.参战 = 1
        -- 发送数据(玩家数据[id].连接id, 7, "#y/你已将副宠四设为参战状态")
      else
         玩家数据[id].助战.数据.助战四.参战 = 0
         --发送数据(玩家数据[id].连接id, 7, "#y/你已将副宠四设为休息状态")
      end
   end
    self:刷新取助战数据(id)
end

function zz:主动屏蔽(id,内容,技能格子)
   if 内容 == "助战一" then
        玩家数据[id].助战.数据.助战一.主动技能[技能格子].屏蔽 =  not  玩家数据[id].助战.数据.助战一.主动技能[技能格子].屏蔽
   elseif 内容 == "助战二" then
         玩家数据[id].助战.数据.助战二.主动技能[技能格子].屏蔽 =  not  玩家数据[id].助战.数据.助战二.主动技能[技能格子].屏蔽
   elseif 内容 == "助战三" then
         玩家数据[id].助战.数据.助战三.主动技能[技能格子].屏蔽 =  not  玩家数据[id].助战.数据.助战三.主动技能[技能格子].屏蔽
   elseif 内容 == "助战四" then
         玩家数据[id].助战.数据.助战四.主动技能[技能格子].屏蔽 =  not  玩家数据[id].助战.数据.助战四.主动技能[技能格子].屏蔽
   end
    self:刷新取助战数据(id)
end
